package utilidades;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import java.sql.*;
import java.util.*;
/**
 *
 * @author Diana Radeva
 */
public class UConexion {
    private static Connection con=null;
    public static Connection getConexion()
    {
        try{
            if (con == null)
            {
                //Con esto determinamos cuando va a finalizar la conexion
                Runtime.getRuntime().addShutdownHook(new MiShDwnHook());
                //Hacemos referencia al archivo de configuración de la conexion
                ResourceBundle rb =  ResourceBundle.getBundle("propiedades.Conexion");
                String driver = rb.getString("driver");
                String url = rb.getString("url");
                String pwd = rb.getString("pwd");
                String usr = rb.getString("usr");
                Class.forName(driver);
                con = DriverManager.getConnection(url, usr, pwd);
            }
            return con;
        }catch (Exception ex)
        {
           ex.printStackTrace();
           throw new RuntimeException(ex);
        }
    }

    static class MiShDwnHook extends Thread{
        public void run()
        {
            try
            {
                Connection con = UConexion.getConexion();
                con.close();
            }catch (Exception ex)
            {
                ex.printStackTrace();
                throw new RuntimeException(ex);
            }
        }
    }
}
